<script>
import md5Libs from "uview-ui/libs/function/md5";
const { getPos } = require('@/utils/index.js')

export default {
	onLaunch: async function() {
		console.log('uview 版本', this.$u.config.v);
		// #ifdef H5
		if(window.location.hash != ''){
			 let search = window.location.search.substring(1);
			    try{
			        if(search.indexOf('hashpath') != -1){
			            let sea = JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}');
			            if(sea.hashpath && sea.code && sea.state){
			                window.location.href = window.location.origin + window.location.pathname+'#'+sea.hashpath+'?code='+sea.code+'&state='+sea.state
			            }
			        }
			    }catch(e){
			        //TODO handle the exception
			    }
		}
		// #endif

		//加载配置
		let res = await this.$api.getConfig();
		if (!res.code) {
			return;
		}
		//主题做缓存
		let theme_key = md5Libs.md5(JSON.stringify(res.data.theme));
		if(!this.vuex_theme.key || this.vuex_theme.key != theme_key){
			this.$u.vuex('vuex_theme', {key:theme_key,value:res.data.theme});
		}
		
		this.$u.vuex('vuex_config', res.data);
		
		// #ifdef APP-PLUS
		let tabbar = this.$u.deepClone(this.vuex_config.tabbar);
		if (!tabbar) {
			this.$util.setTabbar(this.vuex_tabbar);
			return;
		}
		let num = 0;
		for (let i in tabbar.list) {
			try {
				let imagepath = await this.$util.getCachedImage(tabbar.list[i].image);
				let selectedImage = await this.$util.getCachedImage(tabbar.list[i].selectedImage);
				tabbar.list[i].image = imagepath;
				tabbar.list[i].selectedImage = selectedImage;
				num = i;
			} catch (e) {
				console.log(e);
			}
		}
		//更新tabbar配置
		this.$u.vuex('vuex_config.tabbar.list', tabbar.list);
		return ;
		
		//全部下载成功使用服务器的导航，否则启用本地备用导航
		if (parseInt(num) + 1 == tabbar.list.length) {
			this.$util.setTabbar(tabbar);
		} else {
			this.$util.setTabbar(this.vuex_tabbar);
		}
		// #endif
	},
	onShow: function() {
		console.log('App Show');
	},
	onHide: function() {
		console.log('App Hide');
	},
  methods: {
    // 获取定位
    getLocate(callback) {
      getPos.init(({ latitude, longitude }) => {
        this.globalData.locate = {
          lat: latitude,
          lng: longitude
        }
        typeof callback === 'function' && callback({
          lat: latitude,
          lng: longitude
        })
      })
    }
  },
  globalData: {
    // 经纬度
    locate: {
      lat: '',
      lng: ''
    },
    // 酒店检索条件
    hotelPayload: {
      start: '',
      end_time: '',
      label: '',
      distance: '',
      commentNum: '',
      price: '',
      priceRange: ''
    },
    // 房型详情
    roomInfo: {},
  }
};
</script>

<style lang="scss">
@import 'uview-ui/index.scss';
/*每个页面公共css */
.u-bg-white {
	background-color: #ffffff;
}
.u-text-weight {
	font-weight: bold;
}

.u-line-height {
	line-height: 50rpx;
}

.bg-white {
	background-color: #ffffff;
}
.price {
	color: $u-type-error;
}
.text-weight {
	font-weight: bold;
}
.text-normal {
	font-weight: normal;
}

.fa-empty {
	width: 100%;
	flex-direction: column;
	image {
		width: 400rpx;
		height: 400rpx;
	}
	&.top-15 {
		padding-top: 15vh;
	}
}
.footer-bar {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 120rpx;
	background-color: #ffffff;
	padding: 0 30rpx;
	z-index: 9999;
}

.share-btn {
	padding: 0;
	margin: 0;
	border: 0;
	background-color: transparent;
	line-height: inherit;
	border-radius: 0;
	font-size: inherit;
	color: #999;
}
.share-btn::after {
	border: none;
}

// #ifdef MP-BAIDU
.u-radio__icon-wrap,.u-checkbox__icon-wrap{
	line-height: 0;
}
// #endif
page, view, text,input{font-size: 26rpx;}
.tit{font-size: 36rpx; margin-bottom: 26rpx; font-weight: bold;}
.ub{font-weight: normal;}
.tit2{font-size: 36rpx; margin-bottom: 26rpx;}
.paddLR{padding: 0 3%;}
.box{width: 94%; margin-left: auto !important; margin-right: auto !important;}
.b{font-weight: bold;}
.u-999{color: #999;}
.u-666{color: #666}
.u-555{color: #555;}
.u-333{color: #333;}
.u-888{color: #888;}
.u-888{color: #888;}
page{background-color: #ffffff; padding-bottom: 40rpx;}
.bgff{background-color: #fff;}
.re{position: relative;}
.ab{position: absolute;}
.ov{overflow: hidden;}
.z-line-2{line-height: 2;}
.z-line-15{line-height: 1.7;}
.w5{width: 50%;}
.u-primary{color: $uni-color-primary;}
</style>
